﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Model
{
    public class KPI : BaseAttribute
    {
        public KPI() 
        {
            ID = 0;
            Description = string.Empty;
            isActive = false;
            GroupKPI = null;
            CategoryKPI = null;
            TypeKPI = null;
            SubTypeKPI = null;
            Year = 0;
            Periode = string.Empty;
            Polarization = string.Empty;
            UoM = null;
            UoMDetailMax = null;
            UoMDetailMin = null;
            TargetDescription = string.Empty;
            ManualCalculation = 0;
            KPICalculationType = string.Empty;
            Weight = 0;
            KPIParent = null;
            KPIReplacement = null;
            ReplacementDate = null;
            ReplacementDescription = string.Empty;
            WeightEnableFlag = false;
            UoMEnableFlag = false;
            KPIDetailInformation = string.Empty;
            KPIStrategicObjective = string.Empty;
            KPIChilds = null;
            ScoredBySystem = false;
            Sequence = 0;
            EmployeeIDVerifier = 0;
            BusinessGroupID = 0;
            Method = new Method();
            isLockWeight = false;
            AssignWeight = string.Empty;
            PercentageMax = 0;
            PercentageMin = 0;
            SignEmployeeID = 0;
        }
        public int ID { get; set; }
        public string Description { get; set; }
        public bool isActive { get; set; }
        public GroupKPI GroupKPI { get; set; }
        public CategoryKPI CategoryKPI { get; set; }
        public TypeKPI TypeKPI { get; set; }
        public SubTypeKPI SubTypeKPI { get; set; }
        public int Year { get; set; }
        public string Periode { get; set; }
        public string Polarization { get; set; }
        public UoM UoM { get; set; }
        public UoMDetail UoMDetailMax { get; set; }
        public UoMDetail UoMDetailMin { get; set; }
        public string TargetDescription { get; set; }
        public int ManualCalculation { get; set; }
        public string KPICalculationType { get; set; }
        public int Weight { get; set; }
        public KPI KPIParent { get; set; }
        public KPI KPIReplacement { get; set; }
        public DateTime? ReplacementDate { get; set; }
        public string ReplacementDescription { get; set; }
        public bool WeightEnableFlag { get; set; }
        public bool UoMEnableFlag { get; set; }
        public string KPIDetailInformation { get; set; }
        public string KPIStrategicObjective { get; set; }
        public IList<KPI> KPIChilds { get; set; }
        public bool ScoredBySystem { get; set; }
        public int Sequence { get; set; }
        public int EmployeeIDVerifier { get; set; }
        public int BusinessGroupID { get; set; }
        public Method Method { get; set; }
        public bool isLockWeight { get; set; }
        public string AssignWeight { get; set; }
        public int PercentageMax { get; set; }
        public int PercentageMin { get; set; }
        public bool isSummaryValue { get; set; }
        public int SignEmployeeID { get; set; }
    }
}